Method and Apparatus for Establishing a Session

ABSTRACT

A method and Domain Name System (DNS) server for establishing a communication session in an Internet Protocol (IP)-based communication network. The DNS server receives a query containing a DNS name of a destination terminal as a search key, and determines whether an IP address for the DNS name is registered with the DNS server. If so, the DNS server returns the registered IP address to the sender of the query. If not, the DNS server sends a wake-up message to the destination terminal which, in response, establishes an IP data session with the communication network. The DNS server then receives an IP address for the destination terminal from an access server or from a Dynamic Host Control Protocol (DHCP) server, and returns the received IP address to the sender of the query.

TECHNICAL FIELD

The present invention relates to a method and apparatus for establishing a session in a communication system. The invention is applicable in particular, though not necessarily, to the establishment of a session for transporting IP data to a wireless terminal.

BACKGROUND

The use of wireless terminals to access the Internet is growing dramatically. This is due to a large extent to the availability of high speed access technologies such as GPRS specified for 2G (GSM) and 3G (UMTS) networks, as well of course to the availability of high quality content. In the case of GPRS sessions (known as PDP contexts), although users tend to be billed based upon sent and received data volumes rather than time, these cannot be considered “always-on”. Rather, a user must initiate a session from his or her terminal, and the session will remain on until some condition is met (typically until either the user terminates the session or some predefined period of non-use has elapsed in which case the terminal or network can end the session). One reason for this approach is that terminals are allocated IP addresses for use in routing traffic to the terminals, and as IP address space is limited (according to IPv4), an access network must recover unused addresses for allocation to newly arriving terminals. Another reason is that active sessions consume resources at network nodes (and at the terminal) and it is desirable to keep the number of active sessions to a minimum at any one time.

Current and future service delivery to wireless terminals will rely upon peer entities or networks having knowledge of useable IP addresses for destination wireless terminals. Consider for example an email sent by a sending entity using the SMTP protocol. The email will be routed to a node within the recipient's home domain on the basis of the domain name part of the email address. It is then necessary for the home domain to resolve the recipient's email address into an IP address. However, in the case that the destination terminal does not have an ongoing data (e.g. GPRS) session, no IP address for the terminal will be registered within the network.

Solutions for existing services have been, in the main, tailor-made. For example, in the case of the Multimedia Messaging Service (MMS), receipt of an MMS message within a network triggers the sending of an SMS to the destination terminal so as to notify the user that he or she has a message. The SMS contains a URL link to the MMS content. By accepting the message, the user causes the terminal to establish a data session and retrieve the MMS data (this may alternatively happen without user intervention). In the case of IP Multimedia System (IMS) enabled services, a wireless terminal is required to send REGISTER messages to the IMS core at regular intervals in order to maintain the session.

A similar problem arises in the case of wired terminals, and terminals attached via an always-on wireless network (e.g. WLAN) to a fixed access point for an IP access network. For example, one might consider the case of a “regular” Ethernet connected Personal Computer (PC) which can operate in a low power mode where everything except the Ethernet card is powered down. In this mode, it is likely that no IP address will be allocated to the device by the access network and, in any case, the PC would be incapable of receiving any pushed data. Any existing solutions for waking the PC up are likely to be custom designed for specific services.

SUMMARY

According to a first aspect of the present invention there is provided a method of operating a Domain Name System server, the method comprising:

-   -   receiving a query containing as a search key a Domain Name         System name of a destination terminal;     -   determining whether or not an IP address for the Domain Name         System name is registered with the Domain Name System server;     -   if an IP address is registered, returning the IP address to the         sender of the query; and     -   if an IP address is not registered, causing a wake-up message to         be sent to said destination terminal, receiving an IP address         allocated to the destination terminal, and returning the IP         address to the sender of the query.

The invention can be employed to provide a generic session establishment procedure, whereby any service can initiate, via a Domain Name System server, a data session between the network and a destination terminal, and cause delivery of the related IP address to an appropriate peer entity. As such, the destination terminal will be perceived as always on to any service that can access the Domain Name System server. Systems requiring data communication with a destination terminal and requiring to wake-up that terminal will only ever have to communicate with a single interface, namely the Domain Name System server. New services can be developed and introduced more quickly than would otherwise be possible.

According to conventional practices, the Domain Name System server may store the mapping between the Domain Name System name and the received IP address for use in responding to a subsequent query. The mapping may be stored until such time as the Domain Name System server is instructed to remove the mapping by another network entity.

Said step of receiving an IP address allocated to the destination terminal may involve the Domain Name System server receiving a pushed update from an access server responsible for the destination terminal. Alternatively, the Domain Name System server may retrieve the IP address from a Dynamic Host Control Protocol server.

Said Domain Name System name may be for example a fully qualified domain name (FQDN), e.g. “john.smith.ericsson.com”, or a part of a FQDN, e.g. “john.smith”. The Domain Name System name may of course be some other identifier, for example an ENUM mapping of an E.164 number, .e.g. “2.4.3.4.5.4.5.1.e164.arpa”.

The invention is applicable in particular to destination terminals of the wireless type, and more particularly to wireless terminals for use with cellular mobile telephone networks. As has already been discussed, such terminals will often be in an on state, but will not have an active data session. In the case of a cellular wireless terminal, said wake-up message may be a text message, for example a Short Message Service (SMS) message.

The invention is also applicable to destination terminals having a wired connection to an IP access network (the terminal may be wired to a fixed access point, e.g. a cable or ADSL modem, or connected via a wireless network, e.g. WLAN). In this case, said wake-up message may be a “Wake-On-LAN” signal initiated by the Domain Name System server intended to wake the destination terminal from a suspended or low power mode.

According to a second aspect of the present invention there is provided a Domain Name System server comprising:

-   -   a memory storing Domain Name System names and associated IP         addresses;     -   a first input for receiving a query containing as a search key a         Domain Name System name of a destination terminal;     -   a first processor for determining whether or not an IP address         for the Domain Name System name is registered with the Domain         Name System server, and, if an IP address is registered, for         returning the IP address to the sender of the query, and, if an         IP address is not registered, for causing a wake-up message to         be sent to said destination terminal;     -   a second input for receiving in response an IP address allocated         to the destination terminal; and     -   a second processor for returning the IP address to the sender of         the query.

According to a third aspect of the present invention there is provided a method of operating a terminal comprising means for accessing a communication network, the method comprising:

-   -   receiving a wake-up message from said network and in response         establishing an IP data session with the communication network;         and     -   monitoring usage of the established session at the connectivity         layer for the purpose of deciding whether or not the session         should be terminated.

Receipt of the wake-up message at the terminal does not by itself trigger any application specific functions. For example receipt of the message does not trigger downloading of MMS data. The mechanism described here is therefore generic to all applications.

The terminal may be for example a cellular wireless terminal. In the case of a GSM or UMTS (3G) terminal, said data session may be a PDP context, in which case said connectivity layer is the PDP context layer.

According to a fourth aspect of the present invention there is provided a terminal comprising means for accessing a communication network, the terminal further comprising:

-   -   means for receiving a wake-up message from said network and in         response for establishing an IP data session with the         communication network; and     -   means for monitoring usage of the established session at the         connectivity layer for the purpose of deciding whether or not         the session should be terminated.

According to a fifth aspect of the present invention there is provided a method of establishing a data session between a communication network and a destination terminal for the purpose of pushing IP data to the destination terminal from a peer entity, the method comprising:

-   -   sending a Domain Name System query from said peer entity to a         Domain Name System server, the query containing as a search key         a Domain Name System name of the destination terminal;     -   determining at the Domain Name System server whether or not an         IP address is registered there for said Domain Name System name;     -   if an IP address is registered, sending the IP address from the         Domain Name System server to said peer entity; and     -   if an IP address is not registered, sending a wake-up message         from the communication network to said destination terminal,         upon receipt of the message at said terminal, establishing a         data session between the terminal and the network including         allocating an IP address to the terminal, providing the IP         address to said Domain Name System server, and sending the IP         address from the Domain Name System server to said peer entity.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates schematically a system architecture for pushing IP data to a wireless terminal;

FIG. 2 illustrates the signalling flow between various entities associated with a DNS query within the system of FIG. 1; and

FIG. 3 is a flow diagram illustrating a process flow within DNS server of FIG. 1.

FIG. 4 illustrates schematically functional components of a DNS server of the system of FIG. 1; and

FIG. 5 illustrates schematically functional components of a wireless terminal of the system of FIG. 1.

DETAILED DESCRIPTION

There is illustrated in FIG. 1 a typical system architecture for a communication system comprising an access network for facilitating communications to and from a wireless system (specifically a wireless terminal) 1. Only components relevant to a discussion of the inventive principle are illustrated. The access network comprises an Access Server 2 which acts as an IP gateway for the wireless terminal 1, routing IP traffic between the wireless terminal and the Internet (where the term Internet as used here encompasses both the WWW and private IP networks such as an operator's IP backbone). A role of the Access Gateway 2 is to instigate allocation, upon request, of an IP address to the wireless terminal. In the case of a General Packet Radio Service (GPRS) access network, the Access Server is a GPRS Gateway Support Node (GGSN).

A wireless terminal making use of the access network will have been allocated a Domain Name System (DNS) name. The term “DNS name” is used here in the widest sense, and is not limited to a hostnames such as “jsmith.ericsson.com”. The term therefore encompasses hostnames, FQDNs, TEL URIs, SIP URIs, E.164 telephone numbers, etc. A DNS name is used by a peer terminal (which may be a wireless terminal, wired terminal, network based node, web server etc) to send IP packets to the wireless terminal that owns the name.

A Dynamic Host Control Protocol (DHCP) server 3 is also provided within the access network. Indeed, the DHCP server is typically collocated with the Access Server, although this need not be the case. One function of the DHCP server 3 is to allocate an IP address to the wireless terminal under instruction from the Access Server. The access network operator maintains a Domain

Name System server 4 whose role is to maintain mappings between domain names (that are “owned” by the access network operator) and IP addresses.

FIG. 1 illustrates two “systems” identified as “Any System1” 5 and “Any System2” 6. These systems are representative of any system which may access the DNS server 4 to obtain an IP address corresponding to a DNS name. In the case where Any System1 wants to send IP data to Any System2, the classical approach involves:

-   -   System1 executes a DNS lookup on System2's name (D)     -   The DNS server responds with System2's IP Address (J)     -   System1 connects to System2's IP address (B) and proceeds with         its normal protocol execution.

In the case where Any System1 wants to push data to a wireless terminal, the following approach is used:

-   -   System1 executes a DNS lookup using the wireless terminal's name         as query key (D)     -   If no IP address is currently registered for the query key, i.e.         the wireless terminal is NOT online, the DNS server sends an SMS         message (of the OMA push type) to the wireless system (possibly         via an SMS messaging centre and a Push Proxy Gateway although         such a signalling route is not desirable due to the added         latency), requesting that it start its dial-up procedures (I).         Upon receipt of the SMS message, an appropriate application at         the terminal automatically causes the terminal to establish a         data session (e.g. PDP context in the case of GPRS) with the         Access Server. The Access Server allocates an IP address to the         terminal.     -   It is then necessary to deliver the IP address to the DNS         server. This can be achieved in a number of ways. Three         possibilities are:         -   1. The access network registers the IP address in the DNS             server using dynamic DNS procedures (H), i.e. IETF rfc2136,             Dynamic Updates in the Domain Name System (DNS UPDATE); or         -   2. Rather than use the DDNS procedure, a RADIUS ACCOUNTING             START message is sent to the DNS server; or         -   3. The DNS server retrieves this information (K) from the             DHCP server used to allocate the IP address for the dial-up             connection (L); or     -   The DNS server responds to the querying entity, namely Any         System1, with the wireless terminal's IP address (J)     -   Any System1 begins sending IP packets to the wireless terminals         IP address (A) [after any required negotiation phase is         completed]. It will be appreciated that Any System1 does not         need to know the nature of the recipient terminal, i.e. that it         is a wireless terminal.

FIG. 2 illustrates the signalling flow between the various entities of FIG. 1 in the case where the Access Server registers the IP address of the wireless terminal in the DNS server. FIG. 3 is a flow diagram illustrating the process running within the DNS server. The process is exactly the same for any other system accessing the wireless terminal (as depicted with steps G, F and E for Any System2).

FIG. 4 illustrates various functional entities within the DNS server. These are best considered in the context of the IP address look-up process. Upon reception of a lookup request (J), a Resolver 7 checks its associated database 8 (step 5) for an existing entry (an A record (for IPv4) or a AAAA record (for IPv6)). If none is found, an Out-Of-Band signal initiating entity 9 initiates a signalling procedure (step 2), causing external signalling (I) (e.g. sending of an SMS) to occur. [This signal is referred to as an Out-Of-Band signal as is sent via a link which is not the link used to subsequently carry the data]. The signalling possibly carries details of the desired qualities of the connection to be established. At the same time, a timer 10 is started (step 1). An external signal (H) arrives at the registration unit 11 before the timer expires (e.g. using the Remote Authentication Dial In User Service (RADIUS) protocol, “accounting start” message). The database is updated with a new IP address for the wireless terminal (step 4) and the resolver notified (step 3). The resolver 7 fetches the new record (step 5), cancels the timer, and responds to the querying entry (D). If on the other hand the timer expires before any external signal arrives, the resolver responds (D) to the querying entity indicating that no A/AAAA record exists. [Of course, if an external signal H arrives after the expiry of the timer, the database will still be updated with the new IP address mapping, only this will be too late to respond to the original enquiring entity.]

FIG. 5 illustrates various functional entities of the wireless terminal which again are best illustrated in the context of the process. Upon reception of the out-of-band signal (I), an out-of-band Handler 12 dispatches the signal to a wakeup application 13 (step 1). The wakeup application 13 contacts a connectivity manager 14 (step 2) and asks it to establish a data session (L), possibly using any quality parameters received in the out-of-band signal. Once the connection is established, new applications 15 can be reached from the network (step 3) and vice versa. Legacy applications 16 such as MMS can be reached in the same way or via existing mechanisms.

It will be appreciated by the person of skill in the art that various modifications may be made to the above described embodiments without departing from the scope of the present invention. One might consider in particular the case of a Personal Computer (PC) which is connected to an access network via a fixed line. The PC may communicate with the fixed line via a further fixed line, e.g. a line connecting the PC to a cable modem, or via a WLAN. In this case, the out-of-band signalling may be a “wake-on-LAN” signal which enables the Ethernet connected PC to be woken from a low power mode in which only the Ethernet card is powered up. 

1. A method of operating a Domain Name System server, the method comprising the steps of: receiving a query containing as a search key, a Domain Name System name of a destination terminal; determining whether an IP address for the Domain Name System name is registered with the Domain Name System server; upon determining that an IP address is registered, returning the registered IP address to the sender of the query; and upon determining that an IP address is not registered: causing a wake-up message to be sent to said destination terminal; receiving an IP address allocated to the destination terminal from an access server responsible for allocating the IP address to said terminal or from a Dynamic Host Control Protocol Server in communication with said access server; and returning the received IP address to the sender of the query.
 2. The method according to claim 1, wherein said step of receiving an IP address allocated to the destination terminal includes the Domain Name System server receiving a pushed update from said access server.
 3. The method according to claim 1, wherein said step of receiving an IP address allocated to the destination terminal includes the Domain Name System server retrieving the IP address from said Dynamic Host Control Protocol server.
 4. The method according to claim 1, wherein said Domain Name System name is one of a Fully Qualified Domain Name, a part of a Fully Qualified Domain Name, and an ENUM mapping of an E.164 number.
 5. The method according to claim 1, wherein said destination terminal is a wireless terminal.
 6. The method according to claim 5, wherein said wake-up message is a Short Message Service message.
 7. The method according to claim 1, wherein said wake-up message is a “Wake-On-LAN” signal for waking the destination terminal from a suspended or low power mode.
 8. A Domain Name System server comprising: a memory for storing Domain Name System names and associated IP addresses; a first input for receiving a query containing as a search key, a Domain Name System name of a destination terminal; a first processor for determining whether an IP address for the Domain Name System name is registered with the Domain Name System server, and, when an IP address is registered, for returning the registered IP address to the sender of the query, and, when an IP address is not registered, for causing a wake-up message to be sent to said destination terminal; a first output for sending the wake-up message to the destination terminal; a second input for receiving in response to the wake-up message, an IP address allocated to the destination terminal and sent from an access server responsible for allocating the IP address to said terminal or from a Dynamic Host Control Protocol server in communication with said access server; and a second output for returning the received IP address to the sender of the query.
 9. A method of operating a communication terminal having means for accessing a communication network, the terminal initially operating in a suspended or low power mode, the method comprising the steps of: receiving a wake-up message from a Domain Name System server in the network; in response to receiving the wake-up message, switching to an active or high power mode and establishing an IP data session with an access server in the communication network that allocates an IP address to the terminal; and monitoring usage of the established session at a connectivity layer for deciding whether the session should be terminated.
 10. The method according to claim 9, wherein the terminal is a cellular wireless terminal.
 11. The method according to claim 10, wherein said terminal is a GSM or 3G terminal, and said data session is a PDP context, in which case said connectivity layer is the PDP context layer.
 12. The method according to claim 10, wherein said wake-up message is a Short Messaging Service message.
 13. (canceled)
 14. A method of establishing a data session between a communication network and a destination terminal for the purpose of pushing IP data to the destination terminal from a peer entity, the method comprising: sending a Domain Name System query from said peer entity to a Domain Name System server, the query containing as a search key, a Domain Name System name of the destination terminal; determining at the Domain Name System server whether an IP address is registered there for said Domain Name System name; upon determining that an IP address is registered, sending the registered IP address from the Domain Name System server to said peer entity; and upon determining that an IP address is not registered, sending a wake-up message from the Domain Name System server to the destination terminal; upon receipt of the message at said terminal, establishing a data session between the terminal and the network including allocating an IP address to the terminal at an access server and a Dynamic Host Control Protocol server; sending the allocated IP address to said Domain Name System server from said access server or Dynamic Host Control Protocol server; and sending the allocated IP address from the Domain Name System server to said peer entity.
 15. A communication terminal comprising: means for selectively operating in a suspended, low power mode or in an active, high power mode; means for receiving a wake-up message from a Domain Name System server in the network; a wake-up controller for switching to the active, high power mode in response to receiving the wake-up message; a connectivity controller for establishing an IP data session with the access server in the communication network; and a monitor for monitoring usage of the established session at a connectivity layer for deciding whether the session should be terminated. 